#ifndef STRINGUTILS_H_
#define STRINGUTILS_H_

#include <string>
#include "parser/exceptions/InvalidDataException.h"

namespace util {

/*
 * Elimina espacios al incio y al fin de la linea en un string.
 */
void trim(std::string& str);

/*
 * Convierte un std::string en double y lo devuelve.
 * @throws InvalidDataException si no puede convertir el string
 */
double stringToDouble(std::string str) throw (parser::InvalidDataException);

/*
 * Convierte un int en un string para escribirlo.
 */
std::string intToString(int i);

/*
 * Convierte un double en un std::string para escribirlo.
 */
std::string doubleToString(double d);

/*
 * Convierte un std::string en int.
 */
int stringToInt(std::string str) throw (parser::InvalidDataException);

/*
 * separa el array pasado por parametro en en 2 partes,
 * separandolo en la primer posicion en la que se encuentre el caracter pasado como separador
 */
std::string* splitString(std::string strToSplit, char separator) throw (parser::InvalidDataException);

}

#endif /* STRINGUTILS_H_ */
